package com.vviton.zyhj.common.dao;

import java.util.List;

import org.apache.ibatis.annotations.Param;

import com.vviton.zyhj.common.entity.TYyxtHzglJsjlb;
import com.vviton.zyhj.common.utils.page.Page;
import com.vviton.zyhj.common.view.ParmJsjlcx;
import com.vviton.zyhj.common.view.ViewJsjl;

/**
 *
 * ClassName: TYyxtHzglJsjlbMapper <br/>
 * Function: 结算记录表Mapper. <br/>
 * Date: 2016年11月18日 上午9:15:18 <br/>
 *
 * @author Administrator
 * @version 1.0
 * @since JDK 1.7
 */
public interface TYyxtHzglJsjlbMapper {

    /**
     * getJsxxpagination,(分页查询结算记录). <br/>
     * Author: qiaocf <br/>
     * Create Date: 2016年11月18日 <br/>
     * ===============================================================<br/>
     * Modifier: Administrator <br/>
     * Modify Date: 2016年11月18日 <br/>
     * Modify Description: <br/>
     * ===============================================================<br/>
     *
     * @param page 分页参数
     * @return 分页结果
     * @since JDK 1.7
     */
    List<ViewJsjl> getJsxxpagination(@Param("page") Page page);

    /**
     * countJsxxpagination,(分页查询结算记录条数). <br/>
     * Author: qiaocf <br/>
     * Create Date: 2016年11月18日 <br/>
     * ===============================================================<br/>
     * Modifier: Administrator <br/>
     * Modify Date: 2016年11月18日 <br/>
     * Modify Description: <br/>
     * ===============================================================<br/>
     *
     * @param page 分页参数
     * @return 个数
     * @since JDK 1.7
     */
    int countJsxxpagination(@Param("page") Page page);

    /**
     * insertJsjlb,插入账户结算信息. <br/>
     * Author: huangqq <br/>
     * Create Date: 2016年11月23日 <br/>
     * ===============================================================<br/>
     * Modifier: huangqq <br/>
     * Modify Date: 2016年11月23日 <br/>
     * Modify Description: <br/>
     * ===============================================================<br/>
     *
     * @param record 账户结算信息
     * @return 执行结果
     * @since JDK 1.7
     */
    int insertJsjlb(TYyxtHzglJsjlb record);

    /**
     * 
     * getAllJsxx,查询所有的结算信息. <br/>
     * Author: tangli <br/>
     * Create Date: 2016年12月5日 <br/>
     * ===============================================================<br/>
     * Modifier: tangli <br/>
     * Modify Date: 2016年12月5日 <br/>
     * Modify Description: <br/>
     * ===============================================================<br/>
     * 
     * @param param 请求参数
     * @return List<ViewJsjl>
     * @since JDK 1.7
     */
    List<ViewJsjl> getAllJsxx(ParmJsjlcx param);

    /**
     * 
     * getJsxxByIds,根据id集合批量获取. <br/>
     * Author: tangli <br/>
     * Create Date: 2016年12月6日 <br/>
     * ===============================================================<br/>
     * Modifier: tangli <br/>
     * Modify Date: 2016年12月6日 <br/>
     * Modify Description: <br/>
     * ===============================================================<br/>
     * 
     * @param ids id集合
     * @return List<ViewJsjl>
     * @since JDK 1.7
     */
    List<ViewJsjl> getJsxxByIds(@Param("ids") String[] ids);

    /**
     * updateJsjlb,(更新结算记录表信息). <br/>
     * Author: zhucb <br/>
     * Create Date: 2016年12月7日 <br/>
     * ===============================================================<br/>
     * Modifier: zhucb <br/>
     * Modify Date: 2016年12月7日 <br/>
     * Modify Description: <br/>
     * ===============================================================<br/>
     * 
     * @param jsjlb 结算信息
     * @return int
     * @since JDK 1.7
     */
    int updateJsjlb(TYyxtHzglJsjlb jsjlb);

    /**
     * getJsjlbByZfbddbh,(根据支付宝订单编号获取结算信息). <br/>
     * Author: zhucb <br/>
     * Create Date: 2016年12月13日 <br/>
     * ===============================================================<br/>
     * Modifier: zhucb <br/>
     * Modify Date: 2016年12月13日 <br/>
     * Modify Description: <br/>
     * ===============================================================<br/>
     * 
     * @param id 支付宝订单编号
     * @return TYyxtHzglJsjlb
     * @since JDK 1.7
     */
    TYyxtHzglJsjlb getJsjlbByZfbddbh(@Param("id") String id);

    /**
     * updateJsztByID,(根据id更新结算结算表中的结算状态). <br/>
     * Author: zhucb <br/>
     * Create Date: 2016年12月19日 <br/>
     * ===============================================================<br/>
     * Modifier: zhucb <br/>
     * Modify Date: 2016年12月19日 <br/>
     * Modify Description: <br/>
     * ===============================================================<br/>
     * 
     * @param jsjlb 结算记录
     * @return int
     * @since JDK 1.7
     */
    Integer updateJsztByID(TYyxtHzglJsjlb jsjlb);

}